package com.ldp.designpatterns.study.mediator.demo2.chatMediator;

import com.ldp.designpatterns.study.mediator.demo2.user.User;

import java.util.ArrayList;
import java.util.List;

/**
 * @ClassName ConcreteChatMediator TODO: 中介者模式：第2步：中介者接口实现
 * @Description  TODO: 中介者模式：中介者模式引入了一个中介者对象，它负责协调和管理对象之间的通信。对象不再直接与其他对象通信，而是通过中介者来发送和接收消息
 * @Author lindipei
 * @Date 2023/10/18 15:36
 */
public class ConcreteChatMediator implements  ChatMediator{
    private List<User> users = new ArrayList<>();

    @Override
    public void sendMessage(String message, User user) {
        for (User u : users) {
            if (u != user) {
                u.receiveMessage(message);
            }
        }
    }

    @Override
    public void addUser(User user) {
        users.add(user);
    }
}
